In the network communications field, information is generally conveyed from one station to another in the form of packets. The sending station partitions the information to be sent in a series of packets, each with an identification header, sends them to the destination station, which reassembles original information from the packets. There are many tasks that are performed at each station to facilitate the handling of the packets. Generally established network communication standards divide the tasks into several protocol layers (generally around seven). The bottommost protocol layer is often called the “physical layer” or “PHY layer”, and it is responsible for physically transmitting the packets and receiving the packets by way of a communications medium, which may be a fiber-optic connection, a wired connection, a wireless connection, or other types of connections. The upper protocol layers are often implemented in software running on a processor that sends and receives data and commands to the physical layer.
The layer immediately above the physical layer is called the link layer, or the media access control (MAC) layer. This layer has traditionally been implemented in software, but is increasingly being implemented in hardware. At the same time, packet communication networks are being asked to carry more data faster, and to provide more functionality. As part of making their invention, the inventors have recognized that these trends are moving toward creating bottlenecks in the software and hardware, and there will be a need in the art to address these pending bottlenecks.